type: object
properties:
  host:
    description: |
      Доменное имя сервера vCenter.
  username:
    description: |
      Login ID.
  password:
    description: |
      Пароль.
  insecure:
    description: |
      Установите `true`, если vCenter использует самоподписанный сертификат.
  vmFolderPath:
    description: |
      Путь до VirtualMachine Folder, в котором будут создаваться склонированные виртуальные машины.
  regionTagCategory:
    description: |
      Имя категории тегов, использующихся для идентификации региона (vSphere Datacenter).
  zoneTagCategory:
    description: |
      Имя категории тегов, использующихся для идентификации зоны (vSphere Cluster).
  disableTimesync:
    description: |
      Отключение синхронизации времени со стороны vSphere.

      > **Внимание!** Отключение этого параметра не отключает NTP-демоны в гостевой ОС, а лишь отключает корректировки времени со стороны ESXi.
  region:
    description: |
      Тег, прикрепленный к vSphere Datacenter, в котором будут происходить все операции: заказ виртуальных машин, размещение их дисков на datastore, подключение к сети.
  zones:
    description: |
      Глобальное ограничение набора зон, с которыми работает данный cloud-провайдер.
  sshKeys:
    description: |
      Список публичных SSH-ключей в формате plain-text.
  externalNetworkNames:
    description: |
      Имена сетей (не полный путь, а просто имя), подключенных к виртуальным машинам и используемых `vsphere-cloud-controller-manager` для проставления ExternalIP в `.status.addresses` в Node API объект.
  internalNetworkNames:
    description: |
      Имена сетей (не полный путь, а просто имя), подключенных к виртуальным машинам и используемых `vsphere-cloud-controller-manager` для проставления InternalIP в `.status.addresses` в Node API объект.
  storageClass:
    properties:
      exclude:
        description: |
          Полные имена (или regex выражения имен) StorageClass'ов, которые не будут созданы в кластере.
      default:
        description: |
          Имя StorageClass'а, который будет использоваться в кластере по умолчанию.

          Если параметр не задан, фактическим StorageClass'ом по умолчанию будет один из следующих:
            * Присутствующий в кластере произвольный StorageClass с default-аннотацией.
            * Лексикографически первый StorageClass из создаваемых модулем.
      compatibilityFlag:
        description: |
          Флаг, разрешающий использование старой версии CSI:
            * `legacy` — используется старая версия драйвера — только диски FCD, без онлайн-изменения размера;
            * `migration` — в этом случае оба драйвера будут доступны в кластере одновременно. Этот режим используется для миграции со старого драйвера.
  nsxt:
    description: |
      Поддержка cloud controller manager'ом балансировщиков (LoadBalancer) в Vsphere через NSX-T.
    properties:
      defaultIpPoolName:
        description: |
          Имя пула IP-адресов по умолчанию, который используется, если в SVC не установлена аннотация `loadbalancer.vmware.io/class`.
      defaultTcpAppProfileName:
        description: |
          Имя профиля по умолчанию, используемого для TCP-соединений в NSX-T.
      defaultUdpAppProfileName:
        description: |
          Имя профиля по умолчанию, используемого для UDP-соединений в NSX-T.
      size:
        description: |
          Размер сервиса балансировщика (LoadBalancer).
      tier1GatewayPath:
        description: |
          Путь к политике NSX-T tier1 gateway.
      user:
        description: |
          Имя пользователя NSX-T.
      password:
        description: |
          Пароль пользователя NSX-T.
      host:
        description: |
          Адрес NSX-T.
      insecureFlag:
        description: |
          Должен быть установлен в `true`, если NSX-T использует самоподписанный сертификат.
      loadBalancerClass:
        description: |
          Дополнительная секция, определяющая классы балансировщика (LoadBalancer Class) (чтобы использовать класс, установите аннотацию `loadbalancer.vmware.io/class: <ИМЯ КЛАССА>` на SVC).
        items:
          properties:
            name:
              description: |
                Имя класса балансировщика (LoadBalancer Class) для установки аннотации `loadbalancer.vmware.io/class: <ИМЯ КЛАССА>` в SVC.
            ipPoolName:
              description: |
                Имя пула IP-адресов.
            tcpAppProfileName:
              description: |
                Имя профиля по умолчанию, используемого для TCP-соединений.
            udpAppProfileName:
              description: |
                Имя профиля по умолчанию, используемого для UDP-соединений.
